## Overview

Go sigar is a golang implementation of the sigar API.
The Go version of sigar has a very similar interface, but is being 
written from scratch in pure go/cgo, rather than cgo bindings for libsigar. 
This version of gosigar has been evacuated from the NSA/Microsoft walled garden.

## Test drive

    $ cd examples
    $ go run ps.go

## Supported platforms

The features vary by operating system.

| Feature         | Linux | OpenBSD | FreeBSD |
|-----------------|:-----:|:-------:|:-------:|
| Cpu             |   X   |    X    |    X    |
| CpuList         |   X   |    X    |    X    |
| FDUsage         |   X   |         |    X    |
| FileSystemList  |   X   |    X    |    X    |
| FileSystemUsage |   X   |    X    |    X    |
| HugeTLBPages    |   X   |         |         |
| LoadAverage     |   X   |    X    |    X    |
| Mem             |   X   |    X    |    X    |
| ProcArgs        |   X   |         |    X    |
| ProcEnv         |   X   |         |    X    |
| ProcExe         |   X   |         |    X    |
| ProcFDUsage     |   X   |         |    X    |
| ProcList        |   X   |         |    X    |
| ProcMem         |   X   |         |    X    |
| ProcState       |   X   |         |    X    |
| ProcTime        |   X   |         |    X    |
| Swap            |   X   |    X    |    X    |
| Uptime          |   X   |    X    |    X    |

## OS Specific Notes

### FreeBSD

Mount both `linprocfs` and `procfs` for compatability. Consider adding these
mounts to your `/etc/fstab` file so they are mounted automatically at boot.

```
sudo mount -t procfs proc /proc
sudo mkdir -p /compat/linux/proc
sudo mount -t linprocfs /dev/null /compat/linux/proc
```

## License

Apache 2.0
